<?php
/**
 * 公共包含文件
 * 
 * Created		: 2011-07-06
 * Modified		: 2011-07-06 
 * @link		: http://www.qixbo.com
 * @copyright	: [Qixbo.Com] (c) 2011
 * @version		: 0.1.0
 * @author		: Joseph Chen (jsph.chen@gmail.com)
 */
$start_time = microtime(true);

ob_start();
ini_set("magic_quotes_runtime", 0);


$DS = DIRECTORY_SEPARATOR;
date_default_timezone_set('Asia/Shanghai');
//$timezone= new DateTimeZone('Asia/Shanghai');
//$date = new DateTime('now', $timezone);
$timestamp = $_SERVER['REQUEST_TIME'];//服务器端收到请求时间
/**
 * 系统配置
 */
$_inc_ = true;//定义 inc 文件有被包含的标志
isset($debug) or $debug = false;// 是否调试模式
$is_gzip = true;


$queries = 0;//数据库查询次数


//调试模式设置
if($debug) {
	is_callable('display_errors') && ini_set('display_errors', 1);
	error_reporting(E_ALL);
} else {
	ini_set('display_errors', 0);
	error_reporting(0);
}

//程序所在服务器根目录(可以和web目录分离)
$app_root = dirname(dirname(__FILE__)).$DS;


/**
 * 站点路径
 */
/* 程序库目录 */
$app_base	= $app_root . 'base/';
$app_cfg	= $app_root . 'cfg/';
$app_inc	= $app_root . 'inc/';
$app_lang	= $app_root . 'lang/';
$app_model	= $app_root . 'model/';
$app_view	= $app_root . 'view/';
$app_plugin	= $app_root . 'plugin/';
$app_sdk	= $app_root . 'sdk/';
$app_utils	= $app_root . 'utils/';
// 存放各种数据(日志等)的目录
$app_data	= $app_root . 'data/';

//设置包含目录（把当前的程序类目录加入包含目录）
$PS = PATH_SEPARATOR;
set_include_path(
	get_include_path() . $PS
	. $app_base   . $PS
	. $app_model  . $PS
	. $app_utils  . $PS
	. $app_plugin . $PS
);

if (isset($app_sign)) {
	set_include_path(get_include_path() . $PS . $app_model . $app_sign . '/');
	$app_log	= $app_data . $app_sign . '/log/';
}

// WEB目录
if (!isset($web_root)) {
	$web_root = dirname($app_root) . '/webroot';
}
$web_html	= $web_root.'html/';
$web_res	= $web_root . 'resource/';
// 上传目录放在web目录之下
$app_upload = $web_res . 'uploadfiles/';
// 附件
$web_attach = $web_res . 'attachment/';

//导入全局配置
include($app_cfg.'common.cfg.php');

// 设置程序运行多字节内部编码,为后面所有多字节函数初始化
mb_internal_encoding($charset);

// COOKIE有保存当前使用语言,则将当前语言设置成COOKIE保存的语言
if (isset($_COOKIE['lang']) && is_dir($app_lang.$_COOKIE['lang'].'/')) {
	$lang = $_COOKIE['lang'];
}

//模板文件后缀名
$suffix_tpl = '.html.php';


//载入公共函数库
include($app_inc.'functions.php');

//当前运行程序的路径
$cur_path = dirname($_SERVER['SCRIPT_FILENAME']).'/';

$theme_dir = dirname($_SERVER['PHP_SELF']);
if ($theme_dir == DIRECTORY_SEPARATOR) {
	$theme_dir = '';
} else {
	$theme_dir = substr($theme_dir, 1).'/';
}


// 载入语言文件
L('common', 'user');

/*include classes here*/

// 设置处理异常的方法
set_exception_handler('exceptionHandler');
set_error_handler("errorHandler");


//初始化数据库信息
Db::connect(
	array(
		'host'		=> $db_host, 
		'name'		=> $db_name,
		'user'		=> $db_user,
		'pass'		=> $db_pass,
		'charset'	=> $db_charset
	)
);

